//package cn.flying.cloud.common;
//
//import java.io.BufferedReader;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.nio.charset.StandardCharsets;
//
//import com.jcraft.jsch.ChannelExec;
//import com.jcraft.jsch.JSch;
//import com.jcraft.jsch.JSchException;
//import com.jcraft.jsch.Session;
//
///**
// * @author: admin
// * @date: 2025年04月25日 22:42
// * @version: 1.0
// */
//public class M {
//    public static void main(String[] args) {
//        String host = "47.108.184.127";
//        String user = "root";
//        String password = "Xjj20220204";
//        String directory = "/home/app/oauth-server";
//        String scriptName = "./run.sh status flying-cloud-oauth-0.6.0-SNAPSHOT.jar";
//
//
//        try {
//            JSch jsch = new JSch();
//            Session session = jsch.getSession(user, host, 22);
//            session.setPassword(password);
//            session.setConfig("StrictHostKeyChecking", "no");
//            session.connect();
//
//            ChannelExec channel = (ChannelExec) session.openChannel("exec");
//            // 需要带上加载环境变量
////            String command = "source /etc/profile && cd " + directory + " && " + scriptName;
//            String command = "cd /home/app/admin-server/logs && tail -f flying-cloud-admin-0.6.0-SNAPSHOT.log";
//            channel.setCommand(command);
//            channel.setInputStream(null);
//            channel.setErrStream(System.err);
//            channel.connect();
//
//            InputStream in = channel.getInputStream();
//
//            // 指定编码格式读取输入流
//            BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
//            String line;
//            while ((line = reader.readLine()) != null) {
//                System.out.println(line);
//                // 手动刷新输出流
//                System.out.flush();
//            }
//
//            channel.disconnect();
//            session.disconnect();
//        } catch (JSchException | java.io.IOException e) {
//            e.printStackTrace();
//        }
//    }
//}
